home *** CD-ROM | disk | FTP | other *** search
- /* Include pour les objets */
- /* (C) 1992,93 par Christophe PASSUELLO */
- /* Mon Mar 22 18:56:52 1993 */
-
-
- #ifndef EXEC_TYPES_H
- #include "exec/types.h"
- #endif
-
- #ifndef INTUITION_INTUITION_H
- #define INTUITION_PREFERENCES_H TRUE
- #include <intuition/intuition.h>
- #endif
-
-
- /* definition d'une boite */
- struct Box
- {
- UWORD x, y;
- UWORD w, h;
- };
-
- #define COPY_BOX(dest,src) (*((struct Box *)dest))=(*((struct Box *)src))
-
- /* Type de bordure pour Draw3DBox */
- #define BOX_1IN 0
- #define BOX_1OUT 1
- #define BOX_2IN 2
- #define BOX_2OUT 3
-
- /* IDCMP flags for the window */
- #define IDCMP_CYCLE (GADGETUP)
- #define IDCMP_CHECK (GADGETDOWN)
- #define IDCMP_STRING (GADGETDOWN|GADGETUP)
- #define IDCMP_BUTTON (GADGETDOWN|GADGETUP)
- #define IDCMP_STRING (GADGETUP)
- #define IDCMP_INTEGER (GADGETUP)
- #define IDCMP_SCROLLER (GADGETDOWN|GADGETUP|MOUSEMOVE)
-
- /* Classes d'objets */
- #define CLASS_CYCLE 1
- #define CLASS_SCROLLER 2
- #define CLASS_BUTTON 3
- #define CLASS_INTEGER 4
- #define CLASS_STRING 5
- #define CLASS_CHECK 6
-
-
- struct NewObject
- {
- UWORD LeftEdge, TopEdge; /* position de l'objet */
- UWORD Width, Height; /* taille de l'objet */
- UWORD Flags; /* Flags pour toutes les classes d'objet */
- UWORD ClassFlags; /* Flags specialise pour chaque classe */
- STRPTR LabelText; /* Label de l'objet */
- struct TextAttr *Font; /* Fonte pour le label et le texte de l'objet */
- };
-
-
- /* Flags pour NewObject.Flags */
- #define LABEL_MASK 0x007f /* position du label par rapport à l'objet */
- #define LABEL_ABOVE 0x0001 /* au dessus */
- #define LABEL_BELOW 0x0002 /* en dessous */
- #define LABEL_RIGHT 0x0004 /* a droite */
- #define LABEL_LEFT 0x0008 /* a gauche */
- #define LABEL_INSIDE 0x0010 /* a l'interieur */
- #define LABEL_HOT_KEY 0x0020 /* Souligne le caractères suivant le '_' */
- #define LABEL_PEN2 0x0040 /* Label ecrit avec la couleur Pen2 */
-
- #define OBJ_DISABLED 0x0080 /* Object ghosted (Off) */
-
-
- struct NewCycle
- {
- struct NewObject NewObj;
- STRPTR *TextArray;
- };
-
-
- struct NewButton
- {
- struct NewObject NewObj;
- };
-
- /* ClassFlags pour les boutons */
- #define BT_TOGGLE 0x0001
- #define BT_SELECTED 0x0002
- #define BT_IMAGELABEL 0x0004
-
- struct NewScroller
- {
- struct NewObject NewObj;
- UWORD Pos;
- UWORD CurSize;
- UWORD MaxSize;
- };
-
- /* ClassFlags pour les scrollers */
- #define SC_VERTICAL 0x0001 /* Scroller vertical */
- #define SC_NOMOUSE 0x0002 /* pas de FOLLOWMOUSE */
-
-
- struct NewCheck
- {
- struct NewObject NewObj;
- };
-
- /* ClassFlags pour les checks */
- #define CK_CHECKED 0x0001 /* le check est coche */
-
-
- struct NewString
- {
- struct NewObject NewObj;
- STRPTR Text;
- UWORD MaxLength;
- };
-
-
- struct NewInteger
- {
- struct NewObject NewObj;
- };
-
- /* ClassFlags pour les integer et les string */
- #define STR_SINGLEBORD 0x0001
- #define STR_RIGHT 0x0002
- #define STR_CENTER 0x0004
-
-
- struct NewTextArea
- {
- UWORD LeftEdge, TopEdge;
- UWORD Width, Height;
- UWORD Flags;
- UWORD ClassFlags;
- STRPTR LabelText;
- struct TextAttr *Font;
- UBYTE FrontPen, BackPen;
- UBYTE InterLine;
- UBYTE WrMask;
- };
-
- /* flags pour NewTextArea.Flags */
- #define TAF_SMOOTH_SCROLL 1
- #define TAF_CLIP_TEXT 2
-
- /* methodes generiques pour les Object */
- CPTR FindObjectMsg(struct IntuiMessage *);
- UWORD GetObjectID(CPTR);
- UBYTE GetHotKey(CPTR);
-
- /* prototypes */
- VOID SetIObjectColors(UBYTE, UBYTE, UBYTE, UBYTE, UBYTE);
- VOID Draw3DBox(struct Box *, struct RastPort *, UWORD);
- VOID AdjustBox(struct Box *, BOOL);
- VOID ExitEasyGadget();
- BOOL InitEasyGadget();
-
- /* methodes pour les objets */
- CPTR CreateCycle(struct NewCycle *, ULONG);
- CPTR CreateButton(struct NewButton *, ULONG);
- CPTR CreateCheck(struct NewCheck *, ULONG);
- CPTR CreateScroller(struct NewScroller *, ULONG);
- CPTR CreateInteger(struct NewInteger *, ULONG);
- CPTR CreateString(struct NewString *, ULONG);
-
- VOID FreeObject(CPTR);
- BOOL SendMsgToObject(CPTR, struct IntuiMessage *);
- VOID AddObjectToWindow(CPTR, struct Window *, struct Requester *);
- VOID RemoveObjectFromWindow(CPTR);
- VOID DisplayObject(CPTR);
- VOID EraseObject(CPTR);
- VOID ModifyObject(CPTR, ...);
- ULONG ObjectValue(CPTR);
- /*CPTR CreateObject(struct NewObject *, UWORD, UWORD);*/
- VOID ActivateObject(CPTR);
- VOID OnObject(CPTR);
- VOID OffObject(CPTR);
-
- /* Prototypes pour les TextArea */
- CPTR CreateTextArea(struct NewTextArea *, struct RastPort *);
- VOID FreeTextArea(CPTR);
- VOID SetTextAreaPen(CPTR, UBYTE, UBYTE);
- VOID TAPuts(CPTR,char *);
- VOID TAPrint(CPTR,char *);
- VOID TAPrintf(CPTR,char *, ...);
-